Group Predictions

Row

Win percentage for the week

Season Win Percentage

Games Correct

175

Games Picked

240

Number of predictions

111

Row

This Week’s Predictions
Game Prediction Winner Correct Correct Votes Correct Percent
1 Los Angeles Chargers Los Angeles Chargers Yes 57 0.5135
2 Kansas City Chiefs Kansas City Chiefs Yes 79 0.7117
3 Baltimore Ravens Baltimore Ravens Yes 76 0.6847
4 Arizona Cardinals Carolina Panthers No 8 0.0721
5 Cincinnati Bengals Cincinnati Bengals Yes 104 0.9369
6 Detroit Lions Detroit Lions Yes 110 0.9910
7 Los Angeles Rams Los Angeles Rams Yes 104 0.9369
8 Atlanta Falcons Atlanta Falcons Yes 108 0.9730
9 Philadelphia Eagles Washington Commanders No 25 0.2252
10 Indianapolis Colts Indianapolis Colts Yes 105 0.9459
11 Minnesota Vikings Minnesota Vikings Yes 93 0.8378
12 Jacksonville Jaguars Las Vegas Raiders No 55 0.4955
13 Buffalo Bills Buffalo Bills Yes 109 0.9820
14 Miami Dolphins Miami Dolphins Yes 73 0.6577
15 Tampa Bay Buccaneers Dallas Cowboys No 9 0.0811
16 Green Bay Packers Green Bay Packers Yes 105 0.9459

Individual Predictions

row

Individual Table

Individual Results
Week 16
Name Weekly # Correct Percent Weeks Picked Season Percent Adj Season Percent Season Trend
Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week 10 Week 11 Week 12 Week 13 Week 14 Week 15 Week 16
Noah Gosswiller 8 7 NA 10 8 NA 10 11 10 10 10 8 NA 9 14 14 0.8750 13 0.6649 0.5402
Ramar Williams 10 8 7 11 8 11 11 10 8 8 9 8 13 10 12 14 0.8750 16 0.6583 0.6583
Michael Linder 11 9 9 NA NA 12 10 11 10 NA 11 NA 13 NA 14 13 0.8125 11 0.7235 0.4974
Robert Gelo 14 8 9 9 8 13 13 11 12 10 10 9 12 11 11 13 0.8125 16 0.7208 0.7208
Chester Todd 13 8 8 8 9 13 13 10 9 9 11 9 15 10 12 13 0.8125 16 0.7083 0.7083
Jeremy Stieler 11 9 6 11 6 13 11 11 11 9 9 8 16 10 14 13 0.8125 16 0.7000 0.7000
Nicole Dike 13 7 8 10 7 10 10 12 10 9 10 8 15 9 13 13 0.8125 16 0.6833 0.6833
Stephen Bush 9 7 4 10 9 13 13 9 10 10 8 9 16 10 13 13 0.8125 16 0.6792 0.6792
Jonathan Smith 11 NA 4 10 7 NA 8 11 10 7 9 7 15 9 15 13 0.8125 14 0.6476 0.5666
Vincent Scannelli 11 7 7 11 8 8 11 12 9 8 9 7 12 NA 11 13 0.8125 15 0.6344 0.5948
Bunnaro Sun 12 5 8 11 6 8 9 9 12 8 8 NA 14 NA 12 13 0.8125 14 0.6308 0.5520
Louie Renew 9 8 12 4 10 8 8 11 11 8 10 9 NA 10 10 13 0.8125 15 0.6295 0.5902
Wayne Schofield 7 5 9 5 7 7 11 11 10 8 13 10 13 11 NA 13 0.8125 15 0.6250 0.5859
Robert Lynch 6 9 8 6 9 7 7 12 NA 9 7 8 15 NA 13 13 0.8125 14 0.6085 0.5324
Robert Martin 7 NA 9 8 8 8 7 NA 8 7 7 9 11 8 11 13 0.8125 14 0.5817 0.5090
Brittany Pillar NA NA NA NA NA 10 12 NA NA 10 11 10 16 11 13 12 0.7500 9 0.8015 0.4508
Robert Cunningham 14 9 10 12 8 12 11 11 12 9 11 10 NA 10 13 12 0.7500 15 0.7321 0.6863
Aubrey Conn 13 7 10 9 8 12 12 9 13 9 10 11 16 10 12 12 0.7500 16 0.7208 0.7208
Randolph Tidd 11 7 8 12 NA 12 11 12 13 9 11 7 16 10 11 12 0.7500 15 0.7168 0.6720
Nathan Brown 13 8 9 11 9 NA 10 11 14 9 10 10 14 10 12 12 0.7500 15 0.7168 0.6720
Michael Pacifico 13 8 7 9 9 12 12 10 14 9 11 10 14 10 12 12 0.7500 16 0.7167 0.7167
Marc Agne 14 7 9 13 6 13 10 9 12 10 10 7 16 9 13 12 0.7500 16 0.7083 0.7083
Gregory Brown 15 7 6 9 8 12 9 9 13 9 10 9 15 12 13 12 0.7500 16 0.7000 0.7000
Randy Dick 11 7 8 8 9 14 10 10 13 11 10 9 14 10 12 12 0.7500 16 0.7000 0.7000
Keven Talbert 10 7 9 11 9 14 13 9 9 11 10 10 12 10 10 12 0.7500 16 0.6917 0.6917
Anthony Bloss 13 8 8 11 8 13 11 11 9 7 10 9 14 9 13 12 0.7500 16 0.6917 0.6917
David Dupree 13 8 10 9 7 11 11 11 12 NA 9 8 13 10 12 12 0.7500 15 0.6903 0.6472
George Sweet 13 9 6 10 11 9 11 11 12 7 10 11 12 9 12 12 0.7500 16 0.6875 0.6875
Kevin Kehoe 13 7 9 10 8 13 12 11 9 8 8 8 13 9 14 12 0.7500 16 0.6833 0.6833
Daniel Halse 12 6 8 10 7 13 9 11 11 11 NA 8 14 9 12 12 0.7500 15 0.6770 0.6347
Ryan Cvik 10 8 9 11 9 11 11 13 10 7 7 9 12 10 13 12 0.7500 16 0.6750 0.6750
Jason Schattel 13 7 6 9 10 11 9 10 11 9 10 10 13 9 13 12 0.7500 16 0.6750 0.6750
Darryle Sellers 11 11 6 8 9 11 9 10 12 9 12 7 15 9 NA 12 0.7500 15 0.6741 0.6320
George Mancini 11 8 6 NA 8 6 12 NA 11 9 11 10 13 11 NA 12 0.7500 13 0.6667 0.5417
Earl Dixon 10 9 6 9 9 NA 11 10 9 9 10 10 15 11 10 12 0.7500 15 0.6637 0.6222
Karen Richardson 10 9 7 9 11 8 8 12 8 10 9 9 13 10 14 12 0.7500 16 0.6625 0.6625
Michael Moss 13 8 8 8 10 13 8 9 11 9 10 6 11 10 12 12 0.7500 16 0.6583 0.6583
Jeffrey Rudderforth 11 11 10 9 6 7 10 11 12 9 8 8 14 9 11 12 0.7500 16 0.6583 0.6583
Ryan Baum 14 4 9 10 9 NA 10 10 11 10 NA 8 14 8 NA 12 0.7500 13 0.6582 0.5348
Jonathon Leslein 10 8 7 10 8 12 10 10 8 10 7 10 12 10 13 12 0.7500 16 0.6542 0.6542
Trevor Macgavin 12 7 10 8 8 8 9 7 10 7 11 10 16 9 12 12 0.7500 16 0.6500 0.6500
Steward Hogans 10 7 10 NA NA NA NA 10 13 8 8 9 11 8 11 12 0.7500 12 0.6464 0.4848
David Humes 10 9 8 11 5 8 12 8 12 11 11 6 14 9 9 12 0.7500 16 0.6458 0.6458
Cheryl Brown 11 6 9 8 8 10 NA 9 8 10 11 9 14 10 10 12 0.7500 15 0.6444 0.6041
Jason Jackson 12 7 5 6 5 12 9 11 10 10 12 9 NA 10 13 12 0.7500 15 0.6384 0.5985
Matthew Olguin 10 8 9 9 7 12 11 11 9 7 8 5 14 9 12 12 0.7500 16 0.6375 0.6375
Kyle May 10 8 5 6 8 NA 12 10 9 8 8 8 13 7 13 12 0.7500 15 0.6062 0.5683
Steven Webster 7 7 9 6 7 9 NA 11 NA 8 10 8 NA 8 12 12 0.7500 13 0.5876 0.4774
Bruce Williams 13 9 10 8 9 13 12 10 NA 10 10 9 14 9 12 11 0.6875 15 0.7067 0.6625
William Schouviller 12 7 9 9 11 13 10 9 NA 7 11 8 15 11 13 11 0.6875 15 0.6933 0.6500
Nicholas Cinco 12 8 NA NA 6 11 11 12 11 11 8 9 12 8 14 11 0.6875 14 0.6923 0.6058
Erik Neumann 12 8 9 9 7 13 10 11 12 9 10 NA NA 10 15 11 0.6875 14 0.6919 0.6054
Heather Ellenberger 13 8 7 8 7 12 11 11 13 9 9 10 14 9 14 11 0.6875 16 0.6917 0.6917
Christopher Sims 11 9 10 8 7 10 12 14 11 9 8 9 16 10 11 11 0.6875 16 0.6917 0.6917
Chris Papageorge 14 8 10 11 8 12 12 12 11 8 9 7 15 7 11 11 0.6875 16 0.6917 0.6917
Shawn Carden 10 9 10 10 8 11 10 11 11 9 8 8 15 9 14 11 0.6875 16 0.6833 0.6833
Karen Coleman 13 6 NA 11 9 9 10 9 11 8 9 9 14 10 14 11 0.6875 15 0.6830 0.6403
Kevin Buettner 12 8 8 10 7 11 10 9 10 10 10 8 16 10 13 11 0.6875 16 0.6792 0.6792
Daniel Baller 14 6 9 8 7 9 10 12 10 10 10 10 15 10 12 11 0.6875 16 0.6792 0.6792
Edward Ford 9 7 6 10 5 10 10 13 11 9 12 10 14 11 14 11 0.6875 16 0.6750 0.6750
Scott Lefton 10 8 8 7 7 11 11 10 11 10 10 8 15 10 14 11 0.6875 16 0.6708 0.6708
Rafael Torres 12 9 8 7 8 10 12 10 12 11 11 7 12 10 NA 11 0.6875 15 0.6696 0.6278
Richard Beeghley 11 7 6 11 7 14 10 10 10 8 9 9 14 11 12 11 0.6875 16 0.6667 0.6667
Michael Moore 11 6 7 7 8 12 NA 9 9 NA 12 9 16 10 13 11 0.6875 14 0.6635 0.5806
David Plate 10 8 8 8 9 NA NA NA 13 10 8 9 14 NA 12 11 0.6875 12 0.6593 0.4945
Anthony Brinson 11 7 NA 9 10 11 9 12 6 NA NA 8 14 10 NA 11 0.6875 12 0.6556 0.4917
Cade Martinez 10 7 8 8 6 11 11 9 10 10 9 8 15 11 13 11 0.6875 16 0.6542 0.6542
Montee Brown 10 6 8 7 8 14 11 10 8 10 10 9 14 8 13 11 0.6875 16 0.6542 0.6542
Michelle Fraterrigo 11 8 9 9 7 11 12 12 11 8 8 10 NA 9 NA 11 0.6875 14 0.6538 0.5721
James Small 12 NA 9 10 8 10 9 9 10 10 NA 6 11 8 13 11 0.6875 14 0.6476 0.5666
Nicholas Nguyen 11 8 5 8 7 12 11 9 10 9 10 9 NA 9 16 11 0.6875 15 0.6473 0.6068
Joshua Tracey 12 5 8 6 7 NA 9 13 10 7 10 9 16 9 13 11 0.6875 15 0.6416 0.6015
Melissa Printup 8 9 9 6 10 10 10 10 7 10 9 8 13 7 13 11 0.6875 16 0.6250 0.6250
Ronald Schmidt 10 10 5 9 6 8 12 10 NA 7 9 10 NA 8 13 11 0.6875 14 0.6124 0.5358
Jose Torres Mendoza 12 8 8 8 NA NA 8 9 10 11 8 7 NA 10 NA 11 0.6875 12 0.6111 0.4583
Jack Wheeler 9 6 5 10 8 NA 9 9 10 8 10 7 15 11 9 11 0.6875 15 0.6062 0.5683
Matthew Blair NA NA NA NA NA 11 10 12 10 9 11 8 15 11 15 10 0.6250 11 0.7531 0.5178
Brian Hollmann NA NA NA 8 8 10 10 11 9 8 12 8 16 11 12 10 0.6250 13 0.6927 0.5628
Ryan Wiggins NA NA NA NA NA NA NA NA 11 NA NA NA NA NA NA 10 0.6250 2 0.6774 0.0847
Pamela Augustine 14 9 9 NA 7 11 9 NA 10 NA 10 9 14 9 10 10 0.6250 13 0.6753 0.5487
Zechariah Ziebarth 8 8 8 10 5 10 10 11 11 NA 12 8 15 10 16 10 0.6250 15 0.6726 0.6306
Pablo Burgosramos 9 5 8 9 5 14 12 12 12 7 11 10 13 10 14 10 0.6250 16 0.6708 0.6708
Jennifer Arty 10 7 9 7 7 12 8 12 11 9 10 8 15 9 13 10 0.6250 16 0.6542 0.6542
Antonio Mitchell 11 7 8 9 9 11 10 11 10 8 8 9 13 9 13 10 0.6250 16 0.6500 0.6500
Michael Branson 9 8 8 9 8 11 9 11 10 9 11 7 14 9 13 10 0.6250 16 0.6500 0.6500
Brian Patterson 11 6 9 9 6 NA 9 13 NA 9 12 7 14 9 13 10 0.6250 14 0.6493 0.5681
Thomas Mccoy 10 7 6 8 9 11 11 10 12 10 10 8 13 9 11 10 0.6250 16 0.6458 0.6458
Jared Kaanga 11 9 9 8 7 10 9 11 13 9 9 7 NA 11 11 10 0.6250 15 0.6429 0.6027
Christopher Mulcahy 11 9 7 8 NA 8 9 9 10 9 10 9 13 11 12 10 0.6250 15 0.6416 0.6015
Terry Hardison 13 8 6 7 4 11 10 12 11 9 11 7 NA NA 11 10 0.6250 14 0.6161 0.5391
Gary Lawrence 10 6 5 5 7 9 9 10 9 9 11 8 16 11 11 10 0.6250 16 0.6083 0.6083
Bradley Hobson 13 7 8 11 7 13 10 10 11 8 NA 10 16 11 14 9 0.5625 15 0.6991 0.6554
Matthew Schultz 13 10 9 8 9 9 9 12 11 8 11 10 14 9 11 9 0.5625 16 0.6750 0.6750
Clevante Granville 9 11 NA NA 5 11 11 9 10 11 9 10 NA 8 13 9 0.5625 13 0.6562 0.5332
Kamar Morgan 12 6 8 5 8 12 9 12 10 8 10 10 16 10 NA 9 0.5625 15 0.6473 0.6068
Nahir Shepard 11 8 10 8 6 12 8 12 9 9 11 10 13 9 NA 9 0.5625 15 0.6473 0.6068
Walter Archambo 8 8 7 9 6 12 11 11 12 10 10 9 15 9 9 9 0.5625 16 0.6458 0.6458
Jeffrey Zornes 9 11 6 8 7 10 9 11 9 10 NA 8 15 11 11 9 0.5625 15 0.6372 0.5974
Brandon Parks 12 6 9 9 6 13 NA NA 12 10 10 6 NA 8 12 9 0.5625 13 0.6321 0.5136
Kristen White 14 7 9 9 8 9 9 8 8 9 9 8 13 8 14 9 0.5625 16 0.6292 0.6292
Keisha Vasquez 8 7 9 9 11 11 9 12 8 8 NA NA 14 NA NA 9 0.5625 12 0.6250 0.4688
Anthony Rockemore 13 8 6 8 7 NA 8 NA NA 9 9 9 12 10 12 9 0.5625 13 0.6154 0.5000
Marcus Evans 11 8 NA 8 7 10 7 9 10 6 11 8 12 8 13 9 0.5625 15 0.6116 0.5734
Ryan Shipley 11 6 10 8 5 9 11 NA 10 NA 9 10 NA NA 10 9 0.5625 12 0.5967 0.4475
Brayant Rivera 10 8 9 8 6 13 11 10 12 9 11 10 13 10 14 8 0.5000 16 0.6750 0.6750
Shaun Dahl 14 7 9 11 10 10 10 8 9 11 8 11 12 11 12 8 0.5000 16 0.6708 0.6708
Rachel Follo 15 8 6 6 9 7 10 11 9 9 10 7 13 11 11 8 0.5000 16 0.6250 0.6250
Kenneth Nielsen 13 8 7 NA 8 9 11 10 NA NA NA NA 11 NA NA 8 0.5000 9 0.6115 0.3440
George Brown 14 7 8 7 6 11 10 12 9 12 11 8 12 11 10 7 0.4375 16 0.6458 0.6458
Diance Durand 9 9 12 7 8 10 9 11 11 7 9 8 12 NA 11 7 0.4375 15 0.6167 0.5782
Akilah Gamble 9 NA 12 9 6 8 12 6 NA 8 NA 7 NA NA 3 6 0.3750 11 0.5181 0.3562
Clayton Grimes 14 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.8750 0.0547
Tanaysa Henderson NA NA NA NA NA 12 NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.8571 0.0536
Wallace Savage 12 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.7500 0.0469
Brian Holder 12 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.7500 0.0469
Sandra Carter 12 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.7500 0.0469
Steven Maisonneuve NA NA NA NA 11 10 11 12 11 8 NA 10 12 9 NA NA 0.0000 9 0.7231 0.4067
Jeremy Mounce 12 8 8 NA 10 12 NA NA NA 10 10 NA NA NA 14 NA 0.0000 8 0.7000 0.3500
Patrick Tynan 12 8 7 9 8 12 NA 12 12 10 10 6 16 11 13 NA 0.0000 14 0.6986 0.6113
Heather Kohler 12 NA 7 12 9 11 NA 12 NA 8 9 10 14 NA NA NA 0.0000 10 0.6980 0.4362
Jeremy Krammes 12 NA NA NA NA NA NA 10 NA 10 NA NA NA NA NA NA 0.0000 3 0.6957 0.1304
Thomas Brenstuhl 9 8 NA 6 7 9 10 13 11 9 13 9 15 11 14 NA 0.0000 14 0.6923 0.6058
Terrence Lee 11 NA NA NA NA NA NA NA NA NA NA 9 NA NA NA NA 0.0000 2 0.6897 0.0862
Daniel Gray 11 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.6875 0.0430
Bryson Scott 10 9 7 NA 7 12 11 12 10 9 NA 9 15 10 10 NA 0.0000 13 0.6753 0.5487
Philip Driskill 12 7 8 10 8 NA 13 11 10 NA NA 9 14 10 NA NA 0.0000 11 0.6747 0.4639
Jennifer Bouland 13 8 10 7 8 11 10 11 9 9 12 10 NA 11 11 NA 0.0000 14 0.6731 0.5890
Robert Sokol 10 8 NA NA 6 9 9 13 12 9 10 8 14 10 NA NA 0.0000 12 0.6705 0.5029
Travis Delagardelle 11 12 10 8 6 11 12 11 11 9 9 NA NA NA NA NA 0.0000 11 0.6627 0.4556
Daniel Major 8 10 11 6 8 11 NA 10 10 10 11 9 14 11 9 NA 0.0000 14 0.6603 0.5778
Paul Seitz 11 9 9 NA 8 10 11 NA NA 7 8 8 14 7 14 NA 0.0000 12 0.6554 0.4916
George Hall 12 NA 8 NA NA NA NA NA NA 10 NA NA NA NA NA NA 0.0000 3 0.6522 0.1223
Darvin Graham 12 7 6 9 8 11 9 NA 10 9 9 10 NA 11 14 NA 0.0000 13 0.6510 0.5289
Paul Presti 12 8 9 12 7 11 8 10 NA 10 9 NA NA NA NA NA 0.0000 10 0.6358 0.3974
Amy Asberry 11 8 6 10 NA 12 9 NA 9 8 NA NA 13 9 11 NA 0.0000 11 0.6347 0.4364
Tara Bridgett 11 8 8 8 NA 9 NA 10 10 NA NA NA 15 NA NA NA 0.0000 8 0.6320 0.3160
Yiming Hu 12 NA 7 7 6 8 12 9 NA 9 12 8 11 NA 12 NA 0.0000 12 0.6278 0.4708
Jordan Forwood 11 8 6 11 NA 13 NA 10 NA NA NA NA NA NA NA NA 0.0000 6 0.6277 0.2354
Desmond Jenkins 10 7 7 NA 7 12 8 NA NA NA NA NA 15 NA NA NA 0.0000 7 0.6168 0.2699
David Hadley 13 10 8 NA 8 NA 8 NA NA NA NA NA NA NA NA NA 0.0000 5 0.6104 0.1908
Wayne Gokey 13 7 NA 11 NA NA 8 NA 8 NA NA NA NA NA NA NA 0.0000 5 0.6026 0.1883
Jonathan Knight 13 10 9 6 7 NA 11 NA NA NA NA NA NA NA NA NA 0.0000 6 0.6022 0.2258
Megan Fitzgerald 8 11 9 10 NA NA 8 10 NA NA NA 7 13 4 12 NA 0.0000 10 0.6013 0.3758
Kevin Green 11 9 NA 8 7 12 NA 8 NA NA NA NA NA NA NA NA 0.0000 6 0.5978 0.2242
Derrick Elam 13 9 8 11 7 10 8 9 NA NA NA 7 NA 7 NA NA 0.0000 10 0.5973 0.3733
Jeffrey Dusza 11 8 NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 2 0.5938 0.0742
Cherylynn Vidal 13 9 8 8 NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 4 0.5938 0.1484
Adam Konkle 10 9 NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 2 0.5938 0.0742
Thomas Cho 10 6 NA 11 7 12 NA 8 9 NA NA NA NA NA NA NA 0.0000 7 0.5888 0.2576
Jason Miranda 10 7 8 NA 9 11 8 NA NA NA NA NA NA NA NA NA 0.0000 6 0.5824 0.2184
Jennifer Wilson 11 9 10 6 NA 7 11 NA NA NA NA NA NA NA NA NA 0.0000 6 0.5806 0.2177
Sheryl Claiborne-Smith 11 7 NA NA NA 7 7 10 7 7 9 9 10 9 NA NA 0.0000 11 0.5741 0.3947
Richard Conkle 7 6 6 8 7 10 12 11 9 NA 8 NA NA 10 9 NA 0.0000 12 0.5691 0.4268
Joseph Martin 10 7 8 8 8 10 9 NA NA NA NA NA NA NA NA NA 0.0000 7 0.5607 0.2453
Min Choi 10 NA 7 NA 8 7 NA 10 NA NA NA NA NA NA NA NA 0.0000 5 0.5526 0.1727
Lawrence Thuotte 9 5 12 NA 8 NA NA NA NA NA NA NA NA NA NA NA 0.0000 4 0.5484 0.1371
Donald Park 9 NA 6 NA NA 10 NA NA NA NA NA NA NA NA NA NA 0.0000 3 0.5435 0.1019
Gabriel Quinones 10 7 6 9 NA 11 8 7 NA NA NA 6 NA 9 NA NA 0.0000 9 0.5407 0.3041
Monte Henderson 9 8 NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 2 0.5312 0.0664
David Kim 9 8 NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 2 0.5312 0.0664
Jamie Ainsleigh-Wong 9 8 9 9 8 5 NA NA NA NA NA NA NA NA NA NA 0.0000 6 0.5217 0.1956
Andrew Gray 5 8 9 7 NA NA 7 9 7 11 8 6 5 10 9 NA 0.0000 13 0.5153 0.4187
Jay Kelly 10 9 7 7 5 10 7 NA NA NA NA NA NA NA NA NA 0.0000 7 0.5140 0.2249
Zachary Brosemer 8 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.5000 0.0312
Antonio Chapa 8 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.5000 0.0312
Vincent Kandian 9 8 8 7 NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 4 0.5000 0.1250
Ashley Johnson 9 NA 6 NA 6 NA NA NA NA NA 5 9 8 NA NA NA 0.0000 6 0.4831 0.1812
Ashlyn Dortch 9 NA NA 8 NA 5 9 6 NA NA NA NA NA NA NA NA 0.0000 5 0.4805 0.1502
Gabrieal Feiling 10 NA 5 NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 2 0.4688 0.0586
Jasprin Smith 6 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.3750 0.0234
Robert Epps NA 6 NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.3750 0.0234

Season Leaderboard

Season Leaderboard (Season Percent)
Week 16
Season Rank Name Donuts Won Weeks Picked Season Percent Adj Season Percent Season Trend
1 Clayton Grimes 0 1 0.8750 0.0547
2 Tanaysa Henderson 0 1 0.8571 0.0536
3 Brittany Pillar 1 9 0.8015 0.4508
4 Matthew Blair 0 11 0.7531 0.5178
5 Brian Holder 0 1 0.7500 0.0469
5 Sandra Carter 0 1 0.7500 0.0469
5 Wallace Savage 0 1 0.7500 0.0469
8 Robert Cunningham 0 15 0.7321 0.6863
9 Michael Linder 0 11 0.7235 0.4974
10 Steven Maisonneuve 1 9 0.7231 0.4067
11 Aubrey Conn 2 16 0.7208 0.7208
11 Robert Gelo 1 16 0.7208 0.7208
13 Nathan Brown 1 15 0.7168 0.6720
13 Randolph Tidd 1 15 0.7168 0.6720
15 Michael Pacifico 1 16 0.7167 0.7167
16 Chester Todd 1 16 0.7083 0.7083
16 Marc Agne 2 16 0.7083 0.7083
18 Bruce Williams 0 15 0.7067 0.6625
19 Gregory Brown 2 16 0.7000 0.7000
19 Jeremy Mounce 0 8 0.7000 0.3500
19 Jeremy Stieler 1 16 0.7000 0.7000
19 Randy Dick 1 16 0.7000 0.7000
23 Bradley Hobson 1 15 0.6991 0.6554
24 Patrick Tynan 1 14 0.6986 0.6113
25 Heather Kohler 0 10 0.6980 0.4362
26 Jeremy Krammes 0 3 0.6957 0.1304
27 William Schouviller 1 15 0.6933 0.6500
28 Brian Hollmann 1 13 0.6927 0.5628
29 Nicholas Cinco 0 14 0.6923 0.6058
29 Thomas Brenstuhl 1 14 0.6923 0.6058
31 Erik Neumann 0 14 0.6919 0.6054
32 Anthony Bloss 0 16 0.6917 0.6917
32 Chris Papageorge 0 16 0.6917 0.6917
32 Christopher Sims 2 16 0.6917 0.6917
32 Heather Ellenberger 0 16 0.6917 0.6917
32 Keven Talbert 2 16 0.6917 0.6917
37 David Dupree 0 15 0.6903 0.6472
38 Terrence Lee 0 2 0.6897 0.0862
39 Daniel Gray 0 1 0.6875 0.0430
39 George Sweet 2 16 0.6875 0.6875
41 Kevin Kehoe 0 16 0.6833 0.6833
41 Nicole Dike 0 16 0.6833 0.6833
41 Shawn Carden 0 16 0.6833 0.6833
44 Karen Coleman 0 15 0.6830 0.6403
45 Daniel Baller 0 16 0.6792 0.6792
45 Kevin Buettner 1 16 0.6792 0.6792
45 Stephen Bush 2 16 0.6792 0.6792
48 Ryan Wiggins 0 2 0.6774 0.0847
49 Daniel Halse 0 15 0.6770 0.6347
50 Bryson Scott 0 13 0.6753 0.5487
50 Pamela Augustine 0 13 0.6753 0.5487
52 Brayant Rivera 0 16 0.6750 0.6750
52 Edward Ford 0 16 0.6750 0.6750
52 Jason Schattel 0 16 0.6750 0.6750
52 Matthew Schultz 0 16 0.6750 0.6750
52 Ryan Cvik 0 16 0.6750 0.6750
57 Philip Driskill 1 11 0.6747 0.4639
58 Darryle Sellers 0 15 0.6741 0.6320
59 Jennifer Bouland 0 14 0.6731 0.5890
60 Zechariah Ziebarth 1 15 0.6726 0.6306
61 Pablo Burgosramos 1 16 0.6708 0.6708
61 Scott Lefton 0 16 0.6708 0.6708
61 Shaun Dahl 1 16 0.6708 0.6708
64 Robert Sokol 0 12 0.6705 0.5029
65 Rafael Torres 0 15 0.6696 0.6278
66 George Mancini 0 13 0.6667 0.5417
66 Richard Beeghley 1 16 0.6667 0.6667
68 Noah Gosswiller 1 13 0.6649 0.5402
69 Earl Dixon 0 15 0.6637 0.6222
70 Michael Moore 1 14 0.6635 0.5806
71 Travis Delagardelle 1 11 0.6627 0.4556
72 Karen Richardson 1 16 0.6625 0.6625
73 Daniel Major 0 14 0.6603 0.5778
74 David Plate 0 12 0.6593 0.4945
75 Jeffrey Rudderforth 0 16 0.6583 0.6583
75 Michael Moss 0 16 0.6583 0.6583
75 Ramar Williams 1 16 0.6583 0.6583
78 Ryan Baum 0 13 0.6582 0.5348
79 Clevante Granville 0 13 0.6562 0.5332
80 Anthony Brinson 0 12 0.6556 0.4917
81 Paul Seitz 0 12 0.6554 0.4916
82 Cade Martinez 0 16 0.6542 0.6542
82 Jennifer Arty 0 16 0.6542 0.6542
82 Jonathon Leslein 0 16 0.6542 0.6542
82 Montee Brown 1 16 0.6542 0.6542
86 Michelle Fraterrigo 0 14 0.6538 0.5721
87 George Hall 0 3 0.6522 0.1223
88 Darvin Graham 0 13 0.6510 0.5289
89 Antonio Mitchell 0 16 0.6500 0.6500
89 Michael Branson 0 16 0.6500 0.6500
89 Trevor Macgavin 1 16 0.6500 0.6500
92 Brian Patterson 0 14 0.6493 0.5681
93 James Small 0 14 0.6476 0.5666
93 Jonathan Smith 0 14 0.6476 0.5666
95 Kamar Morgan 1 15 0.6473 0.6068
95 Nahir Shepard 0 15 0.6473 0.6068
95 Nicholas Nguyen 1 15 0.6473 0.6068
98 Steward Hogans 0 12 0.6464 0.4848
99 David Humes 0 16 0.6458 0.6458
99 George Brown 1 16 0.6458 0.6458
99 Thomas Mccoy 0 16 0.6458 0.6458
99 Walter Archambo 0 16 0.6458 0.6458
103 Cheryl Brown 0 15 0.6444 0.6041
104 Jared Kaanga 0 15 0.6429 0.6027
105 Christopher Mulcahy 0 15 0.6416 0.6015
105 Joshua Tracey 1 15 0.6416 0.6015
107 Jason Jackson 0 15 0.6384 0.5985
108 Matthew Olguin 0 16 0.6375 0.6375
109 Jeffrey Zornes 0 15 0.6372 0.5974
110 Paul Presti 0 10 0.6358 0.3974
111 Amy Asberry 0 11 0.6347 0.4364
112 Vincent Scannelli 0 15 0.6344 0.5948
113 Brandon Parks 0 13 0.6321 0.5136
114 Tara Bridgett 0 8 0.6320 0.3160
115 Bunnaro Sun 0 14 0.6308 0.5520
116 Louie Renew 1 15 0.6295 0.5902
117 Kristen White 0 16 0.6292 0.6292
118 Yiming Hu 0 12 0.6278 0.4708
119 Jordan Forwood 0 6 0.6277 0.2354
120 Keisha Vasquez 1 12 0.6250 0.4688
120 Melissa Printup 0 16 0.6250 0.6250
120 Rachel Follo 1 16 0.6250 0.6250
120 Wayne Schofield 1 15 0.6250 0.5859
124 Desmond Jenkins 0 7 0.6168 0.2699
125 Diance Durand 1 15 0.6167 0.5782
126 Terry Hardison 0 14 0.6161 0.5391
127 Anthony Rockemore 0 13 0.6154 0.5000
128 Ronald Schmidt 0 14 0.6124 0.5358
129 Marcus Evans 0 15 0.6116 0.5734
130 Kenneth Nielsen 0 9 0.6115 0.3440
131 Jose Torres Mendoza 0 12 0.6111 0.4583
132 David Hadley 0 5 0.6104 0.1908
133 Robert Lynch 0 14 0.6085 0.5324
134 Gary Lawrence 1 16 0.6083 0.6083
135 Jack Wheeler 0 15 0.6062 0.5683
135 Kyle May 0 15 0.6062 0.5683
137 Wayne Gokey 0 5 0.6026 0.1883
138 Jonathan Knight 0 6 0.6022 0.2258
139 Megan Fitzgerald 0 10 0.6013 0.3758
140 Kevin Green 0 6 0.5978 0.2242
141 Derrick Elam 0 10 0.5973 0.3733
142 Ryan Shipley 0 12 0.5967 0.4475
143 Adam Konkle 0 2 0.5938 0.0742
143 Cherylynn Vidal 0 4 0.5938 0.1484
143 Jeffrey Dusza 0 2 0.5938 0.0742
146 Thomas Cho 0 7 0.5888 0.2576
147 Steven Webster 0 13 0.5876 0.4774
148 Jason Miranda 0 6 0.5824 0.2184
149 Robert Martin 0 14 0.5817 0.5090
150 Jennifer Wilson 0 6 0.5806 0.2177
151 Sheryl Claiborne-Smith 0 11 0.5741 0.3947
152 Richard Conkle 0 12 0.5691 0.4268
153 Joseph Martin 0 7 0.5607 0.2453
154 Min Choi 0 5 0.5526 0.1727
155 Lawrence Thuotte 1 4 0.5484 0.1371
156 Donald Park 0 3 0.5435 0.1019
157 Gabriel Quinones 0 9 0.5407 0.3041
158 David Kim 0 2 0.5312 0.0664
158 Monte Henderson 0 2 0.5312 0.0664
160 Jamie Ainsleigh-Wong 0 6 0.5217 0.1956
161 Akilah Gamble 1 11 0.5181 0.3562
162 Andrew Gray 0 13 0.5153 0.4187
163 Jay Kelly 0 7 0.5140 0.2249
164 Antonio Chapa 0 1 0.5000 0.0312
164 Vincent Kandian 0 4 0.5000 0.1250
164 Zachary Brosemer 0 1 0.5000 0.0312
167 Ashley Johnson 0 6 0.4831 0.1812
168 Ashlyn Dortch 0 5 0.4805 0.1502
169 Gabrieal Feiling 0 2 0.4688 0.0586
170 Jasprin Smith 0 1 0.3750 0.0234
170 Robert Epps 0 1 0.3750 0.0234

Adjusted Season Leaderboard

Season Leaderboard (Adjusted Season Percent)
Week 16
Season Rank Name Donuts Won Weeks Picked Season Percent Adj Season Percent Season Trend
1 Aubrey Conn 2 16 0.7208 0.7208
1 Robert Gelo 1 16 0.7208 0.7208
3 Michael Pacifico 1 16 0.7167 0.7167
4 Chester Todd 1 16 0.7083 0.7083
4 Marc Agne 2 16 0.7083 0.7083
6 Gregory Brown 2 16 0.7000 0.7000
6 Jeremy Stieler 1 16 0.7000 0.7000
6 Randy Dick 1 16 0.7000 0.7000
9 Anthony Bloss 0 16 0.6917 0.6917
9 Chris Papageorge 0 16 0.6917 0.6917
9 Christopher Sims 2 16 0.6917 0.6917
9 Heather Ellenberger 0 16 0.6917 0.6917
9 Keven Talbert 2 16 0.6917 0.6917
14 George Sweet 2 16 0.6875 0.6875
15 Robert Cunningham 0 15 0.7321 0.6863
16 Kevin Kehoe 0 16 0.6833 0.6833
16 Nicole Dike 0 16 0.6833 0.6833
16 Shawn Carden 0 16 0.6833 0.6833
19 Daniel Baller 0 16 0.6792 0.6792
19 Kevin Buettner 1 16 0.6792 0.6792
19 Stephen Bush 2 16 0.6792 0.6792
22 Brayant Rivera 0 16 0.6750 0.6750
22 Edward Ford 0 16 0.6750 0.6750
22 Jason Schattel 0 16 0.6750 0.6750
22 Matthew Schultz 0 16 0.6750 0.6750
22 Ryan Cvik 0 16 0.6750 0.6750
27 Nathan Brown 1 15 0.7168 0.6720
27 Randolph Tidd 1 15 0.7168 0.6720
29 Pablo Burgosramos 1 16 0.6708 0.6708
29 Scott Lefton 0 16 0.6708 0.6708
29 Shaun Dahl 1 16 0.6708 0.6708
32 Richard Beeghley 1 16 0.6667 0.6667
33 Bruce Williams 0 15 0.7067 0.6625
33 Karen Richardson 1 16 0.6625 0.6625
35 Jeffrey Rudderforth 0 16 0.6583 0.6583
35 Michael Moss 0 16 0.6583 0.6583
35 Ramar Williams 1 16 0.6583 0.6583
38 Bradley Hobson 1 15 0.6991 0.6554
39 Cade Martinez 0 16 0.6542 0.6542
39 Jennifer Arty 0 16 0.6542 0.6542
39 Jonathon Leslein 0 16 0.6542 0.6542
39 Montee Brown 1 16 0.6542 0.6542
43 Antonio Mitchell 0 16 0.6500 0.6500
43 Michael Branson 0 16 0.6500 0.6500
43 Trevor Macgavin 1 16 0.6500 0.6500
43 William Schouviller 1 15 0.6933 0.6500
47 David Dupree 0 15 0.6903 0.6472
48 David Humes 0 16 0.6458 0.6458
48 George Brown 1 16 0.6458 0.6458
48 Thomas Mccoy 0 16 0.6458 0.6458
48 Walter Archambo 0 16 0.6458 0.6458
52 Karen Coleman 0 15 0.6830 0.6403
53 Matthew Olguin 0 16 0.6375 0.6375
54 Daniel Halse 0 15 0.6770 0.6347
55 Darryle Sellers 0 15 0.6741 0.6320
56 Zechariah Ziebarth 1 15 0.6726 0.6306
57 Kristen White 0 16 0.6292 0.6292
58 Rafael Torres 0 15 0.6696 0.6278
59 Melissa Printup 0 16 0.6250 0.6250
59 Rachel Follo 1 16 0.6250 0.6250
61 Earl Dixon 0 15 0.6637 0.6222
62 Patrick Tynan 1 14 0.6986 0.6113
63 Gary Lawrence 1 16 0.6083 0.6083
64 Kamar Morgan 1 15 0.6473 0.6068
64 Nahir Shepard 0 15 0.6473 0.6068
64 Nicholas Nguyen 1 15 0.6473 0.6068
67 Nicholas Cinco 0 14 0.6923 0.6058
67 Thomas Brenstuhl 1 14 0.6923 0.6058
69 Erik Neumann 0 14 0.6919 0.6054
70 Cheryl Brown 0 15 0.6444 0.6041
71 Jared Kaanga 0 15 0.6429 0.6027
72 Christopher Mulcahy 0 15 0.6416 0.6015
72 Joshua Tracey 1 15 0.6416 0.6015
74 Jason Jackson 0 15 0.6384 0.5985
75 Jeffrey Zornes 0 15 0.6372 0.5974
76 Vincent Scannelli 0 15 0.6344 0.5948
77 Louie Renew 1 15 0.6295 0.5902
78 Jennifer Bouland 0 14 0.6731 0.5890
79 Wayne Schofield 1 15 0.6250 0.5859
80 Michael Moore 1 14 0.6635 0.5806
81 Diance Durand 1 15 0.6167 0.5782
82 Daniel Major 0 14 0.6603 0.5778
83 Marcus Evans 0 15 0.6116 0.5734
84 Michelle Fraterrigo 0 14 0.6538 0.5721
85 Jack Wheeler 0 15 0.6062 0.5683
85 Kyle May 0 15 0.6062 0.5683
87 Brian Patterson 0 14 0.6493 0.5681
88 James Small 0 14 0.6476 0.5666
88 Jonathan Smith 0 14 0.6476 0.5666
90 Brian Hollmann 1 13 0.6927 0.5628
91 Bunnaro Sun 0 14 0.6308 0.5520
92 Bryson Scott 0 13 0.6753 0.5487
92 Pamela Augustine 0 13 0.6753 0.5487
94 George Mancini 0 13 0.6667 0.5417
95 Noah Gosswiller 1 13 0.6649 0.5402
96 Terry Hardison 0 14 0.6161 0.5391
97 Ronald Schmidt 0 14 0.6124 0.5358
98 Ryan Baum 0 13 0.6582 0.5348
99 Clevante Granville 0 13 0.6562 0.5332
100 Robert Lynch 0 14 0.6085 0.5324
101 Darvin Graham 0 13 0.6510 0.5289
102 Matthew Blair 0 11 0.7531 0.5178
103 Brandon Parks 0 13 0.6321 0.5136
104 Robert Martin 0 14 0.5817 0.5090
105 Robert Sokol 0 12 0.6705 0.5029
106 Anthony Rockemore 0 13 0.6154 0.5000
107 Michael Linder 0 11 0.7235 0.4974
108 David Plate 0 12 0.6593 0.4945
109 Anthony Brinson 0 12 0.6556 0.4917
110 Paul Seitz 0 12 0.6554 0.4916
111 Steward Hogans 0 12 0.6464 0.4848
112 Steven Webster 0 13 0.5876 0.4774
113 Yiming Hu 0 12 0.6278 0.4708
114 Keisha Vasquez 1 12 0.6250 0.4688
115 Philip Driskill 1 11 0.6747 0.4639
116 Jose Torres Mendoza 0 12 0.6111 0.4583
117 Travis Delagardelle 1 11 0.6627 0.4556
118 Brittany Pillar 1 9 0.8015 0.4508
119 Ryan Shipley 0 12 0.5967 0.4475
120 Amy Asberry 0 11 0.6347 0.4364
121 Heather Kohler 0 10 0.6980 0.4362
122 Richard Conkle 0 12 0.5691 0.4268
123 Andrew Gray 0 13 0.5153 0.4187
124 Steven Maisonneuve 1 9 0.7231 0.4067
125 Paul Presti 0 10 0.6358 0.3974
126 Sheryl Claiborne-Smith 0 11 0.5741 0.3947
127 Megan Fitzgerald 0 10 0.6013 0.3758
128 Derrick Elam 0 10 0.5973 0.3733
129 Akilah Gamble 1 11 0.5181 0.3562
130 Jeremy Mounce 0 8 0.7000 0.3500
131 Kenneth Nielsen 0 9 0.6115 0.3440
132 Tara Bridgett 0 8 0.6320 0.3160
133 Gabriel Quinones 0 9 0.5407 0.3041
134 Desmond Jenkins 0 7 0.6168 0.2699
135 Thomas Cho 0 7 0.5888 0.2576
136 Joseph Martin 0 7 0.5607 0.2453
137 Jordan Forwood 0 6 0.6277 0.2354
138 Jonathan Knight 0 6 0.6022 0.2258
139 Jay Kelly 0 7 0.5140 0.2249
140 Kevin Green 0 6 0.5978 0.2242
141 Jason Miranda 0 6 0.5824 0.2184
142 Jennifer Wilson 0 6 0.5806 0.2177
143 Jamie Ainsleigh-Wong 0 6 0.5217 0.1956
144 David Hadley 0 5 0.6104 0.1908
145 Wayne Gokey 0 5 0.6026 0.1883
146 Ashley Johnson 0 6 0.4831 0.1812
147 Min Choi 0 5 0.5526 0.1727
148 Ashlyn Dortch 0 5 0.4805 0.1502
149 Cherylynn Vidal 0 4 0.5938 0.1484
150 Lawrence Thuotte 1 4 0.5484 0.1371
151 Jeremy Krammes 0 3 0.6957 0.1304
152 Vincent Kandian 0 4 0.5000 0.1250
153 George Hall 0 3 0.6522 0.1223
154 Donald Park 0 3 0.5435 0.1019
155 Terrence Lee 0 2 0.6897 0.0862
156 Ryan Wiggins 0 2 0.6774 0.0847
157 Adam Konkle 0 2 0.5938 0.0742
157 Jeffrey Dusza 0 2 0.5938 0.0742
159 David Kim 0 2 0.5312 0.0664
159 Monte Henderson 0 2 0.5312 0.0664
161 Gabrieal Feiling 0 2 0.4688 0.0586
162 Clayton Grimes 0 1 0.8750 0.0547
163 Tanaysa Henderson 0 1 0.8571 0.0536
164 Brian Holder 0 1 0.7500 0.0469
164 Sandra Carter 0 1 0.7500 0.0469
164 Wallace Savage 0 1 0.7500 0.0469
167 Daniel Gray 0 1 0.6875 0.0430
168 Antonio Chapa 0 1 0.5000 0.0312
168 Zachary Brosemer 0 1 0.5000 0.0312
170 Jasprin Smith 0 1 0.3750 0.0234
170 Robert Epps 0 1 0.3750 0.0234

Data

---
title: "2024 NFL Moneyline Picks"
output: 
  flexdashboard::flex_dashboard:
    theme:
      version: 4
      bootswatch: spacelab
    orientation: rows
    vertical_layout: fill
    social: ["menu"]
    source_code: embed
    navbar:
      - { title: "Created by: Daniel Baller", icon: "fa-github", href: "https://github.com/danielpballer"  }
---


```{r setup, include=FALSE}
#    source_code: embed
library(flexdashboard)
library(tidyverse)
library(data.table)
library(formattable)
library(ggpubr)
library(ggrepel)
library(gt)
library(glue)
library(ggthemes)
library(hrbrthemes)
library(sparkline)
library(plotly)
library(htmlwidgets)
library(mdthemes)
library(ggtext)
library(ggnewscale)
library(DT)
source("./Functions/functions2.R")

thematic::thematic_rmd(font = "auto")

```

```{r Reading in our picks files, include=FALSE}
current_week = 16 #Set what week it is
week_1 = read_csv("./CSV_Data_Files/2024 NFL Week 1.csv") %>% 
  mutate(Name = str_to_title(Name))
week_2 = read_csv("./CSV_Data_Files/2024 NFL Week 2.csv")%>% 
  mutate(Name = str_to_title(Name))
week_3 = read_csv("./CSV_Data_Files/2024 NFL Week 3.csv")%>% 
  mutate(Name = str_to_title(Name))
week_4 = read_csv("./CSV_Data_Files/2024 NFL Week 4.csv")%>%
 mutate(Name = str_to_title(Name))
week_5 = read_csv("./CSV_Data_Files/2024 NFL Week 5.csv")%>% 
  mutate(Name = str_to_title(Name))
week_6 = read_csv("./CSV_Data_Files/2024 NFL Week 6.csv")%>% 
  mutate(Name = str_to_title(Name))
week_7 = read_csv("./CSV_Data_Files/2024 NFL Week 7.csv")%>% 
  mutate(Name = str_to_title(Name))
week_8 = read_csv("./CSV_Data_Files/2024 NFL Week 8.csv")%>% 
  mutate(Name = str_to_title(Name))
 week_9 = read_csv("./CSV_Data_Files/2024 NFL Week 9.csv")%>% 
  mutate(Name = str_to_title(Name))
week_10 = read_csv("./CSV_Data_Files/2024 NFL Week 10.csv")%>% 
  mutate(Name = str_to_title(Name))
week_11 = read_csv("./CSV_Data_Files/2024 NFL Week 11.csv")%>% 
  mutate(Name = str_to_title(Name))
week_12 = read_csv("./CSV_Data_Files/2024 NFL Week 12.csv")%>% 
  mutate(Name = str_to_title(Name))
week_13 = read_csv("./CSV_Data_Files/2024 NFL Week 13.csv")%>% 
  mutate(Name = str_to_title(Name))
week_14 = read_csv("./CSV_Data_Files/2024 NFL Week 14.csv")%>% 
  mutate(Name = str_to_title(Name))
week_15 = read_csv("./CSV_Data_Files/2024 NFL Week 15.csv")%>% 
  mutate(Name = str_to_title(Name))
week_16 = read_csv("./CSV_Data_Files/2024 NFL Week 16.csv")%>% 
  mutate(Name = str_to_title(Name))
# week_17 = read_csv("./CSV_Data_Files/2024 NFL Week 17.csv")%>% 
#  mutate(Name = str_to_title(Name))
# week_18 = read_csv("./CSV_Data_Files/2024 NFL Week 18.csv")%>% 
#  mutate(Name = str_to_title(Name))
# week_19 = read_csv("./CSV_Data_Files/2024 NFL Wild Card.csv")%>% 
#  mutate(Name = str_to_title(Name))
# week_20 = read_csv("./CSV_Data_Files/2024 NFL Divisional Round.csv")%>% 
#  mutate(Name = str_to_title(Name))
# week_21 = read_csv("./CSV_Data_Files/2024 NFL Conference Round.csv")%>% 
#  mutate(Name = str_to_title(Name))
# week_22 = read_csv("./CSV_Data_Files/2024 NFL Super Bowl.csv")%>% 
#  mutate(Name = str_to_title(Name))

#reading in scores
Scores = read_csv(glue::glue("./CSV_Data_Files/NFL_Scores_{current_week}.csv")) 

#reading in CBS Prediction Records
cbs = read_csv(glue::glue("./CSV_Data_Files/CBS_Experts_{current_week}.csv")) %>% 
  mutate(Percent = round(Percent,4))
cbs_season = read_csv(glue::glue("./CSV_Data_Files/CBS_Experts_Season_{current_week}.csv"))

#reading in ESPN Prediction Records
espn = read_csv(glue::glue("./CSV_Data_Files/ESPN_Experts_{current_week}.csv"))%>% 
  mutate(Percent = round(Percent,4))
espn_season = read_csv(glue::glue("./CSV_Data_Files/ESPN_Experts_Season_{current_week}.csv"))%>% 
  mutate(Percent = round(Percent,4))

#Odds not working for the 2024 season.  Need to fix scrape code for next year.
#Reading in the moneyline odds for each team and cleaning the team names
# odds_wk1 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_1.csv"))
# odds_wk2 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_2.csv"))
# odds_wk3 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_3.csv"))
# odds_wk4 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_4.csv"))
# odds_wk5 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_5.csv"))
# odds_wk6 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_6.csv"))
# odds_wk7 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_7.csv"))
# odds_wk8 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_8.csv"))
# odds_wk9 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_9.csv"))
# odds_wk10 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_10.csv"))
# odds_wk11 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_11.csv"))
# odds_wk12 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_12.csv"))
# odds_wk13 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_13.csv"))
# odds_wk14 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_14.csv"))
# odds_wk15 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_15.csv"))
# odds_wk16 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_16.csv"))
# odds_wk17 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_17.csv"))
# odds_wk18 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_18.csv"))
# odds_wk19 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_19.csv"))
# odds_wk20 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_20.csv"))
# odds_wk21 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_21.csv"))
# odds_wk22 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_22.csv"))

####################UPDATE THESE###############################
inst.picks = list(week_1, week_2, week_3, week_4, week_5, week_6, week_7, week_8 , week_9, week_10, week_11, week_12, week_13, week_14, week_15, week_16) #, week_17 , week_18, week_19 , week_20, week_21, week_22) #add in the additional weeks
# odds = rbind(odds_wk1, odds_wk2, odds_wk3, odds_wk4, odds_wk5, odds_wk6, odds_wk7, odds_wk8,
#              odds_wk9, odds_wk10, odds_wk11, odds_wk12) #add in the additional weeks
####################END OF UPDATE##############################

weeks = as.list(seq(1:current_week)) #creating a list of each week number
```

```{r read in scores clean data, include=FALSE}
#Cleaning Odds Data
# cl_odds = odds_cleaning(odds)

#Cleaning scores data
Scores = cleaning2(Scores)

#creating a list of winners for each week
winners = map(weeks, weekly_winners)

#creating a vector of this weeks winners
this_week = pull(winners[[length(winners)]])  

#Getting the number of games for each week
weekly_number_of_games = map_dbl(weeks, week_number_games)
```

```{r Group Predictions, include=FALSE}
#Creating the list of everyones predictions each week.
games = map(inst.picks, games_fn)

#Creating the prediction table.  
pred_table = map(games, pred_table_fn)

#Adding who won to the predictions
with_winners = map2(pred_table, winners, adding_winners)

#Creating results for each week.
results = map2(with_winners,weekly_number_of_games, results_fn)
```


```{r Displaying Group Results, echo=FALSE}
#Displaying the group results

inst_group_table = results[[length(results)]] %>% gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("This Week's Predictions"),
    #subtitle = md(glue("Week {length(results)}"))
    ) %>% 
   tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(Correct),
      rows = Correct =="No"
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(Correct),
      rows = Correct =="Yes"
    )) %>% 
  tab_options(
    data_row.padding = px(3),
    container.height = "100%"
   )
```

```{r Weekly and season Group Results, include=FALSE}
# Printing the weekly and season win percentage     

#how many games correct, incorrect, and not picked each week
weekly_group_correct = map(results, weekly_group_correct_fn)  

#how many games were picked each week
weekly_games_picked = map2(weekly_group_correct, weekly_number_of_games, weekly_games_picked_fn)

#Calculating the number of correct picks for each week
weekly_group_correct_picks = map(weekly_group_correct, weekly_group_correct_picks_fn)

# Code to manually hard code in week where we get 0 games correct
# ##### Remove this line before next season 
# weekly_group_correct_picks[[21]]=0

#Calculating weekly win percentage
weekly_win_percentage = map2(weekly_group_correct_picks, weekly_games_picked, weekly_win_percentage_fn)

#Calculating season win percentage
season_win_percentage = round(sum(unlist(weekly_group_correct_picks))/sum(unlist(weekly_games_picked)),4)

#Calculating number of games picked this season
season_games = sum(unlist(weekly_games_picked))

#calculating season wins
season_wins = sum(unlist(weekly_group_correct_picks))

#calculating the number of people who picked this week
Total = dim(inst.picks[[length(weeks)]])[1]
```

```{r plotting group results, include=FALSE}
#Previous Weeks
group_season_for_plotting = unlist(weekly_win_percentage) %>% as.data.frame() %>% 
  rename(`Win Percentage` = ".") %>% 
  add_column(Week = unlist(weeks))
```

```{r Plotting the group results, echo=FALSE}
inst_group_season_plot = group_season_for_plotting %>% 
ggplot(aes(x = as.factor(Week), y = `Win Percentage`))+
  geom_point()+
  geom_path(aes(x = Week))+
  ylim(c(0, 1)) +
  xlab("NFL Week") + 
  ylab("Correct Percentage")+
  ggtitle("Weekly Group Correct Percentage")+
  theme_classic()+
  theme(plot.title = element_text(hjust = 0.5, size = 18))
```

```{r beating cbs week, include=FALSE}
#Creating a list of correct percentages for each week.
cbs_weekly_percent = map(weeks, cbs_percent)

#Creating a list of how many cbs experts we beat each week.
cbs_experts_beat = map2(cbs_weekly_percent, weekly_win_percentage, experts_beat)

#Creating a list of how many cbs experts picked each week.  
cbs_experts_total = map(cbs_weekly_percent, experts_tot)
```

```{r beating cbs season, include=FALSE}
#Creating a list of correct percentages for each week.
cbs_season_percent = map(weeks, cbs_season_percent)

#Creating a list of how many cbs experts we beat each week.
cbs_experts_beat_season = map2(cbs_season_percent, season_win_percentage, experts_beat)

#Creating a list of how many cbs experts picked each week.  
cbs_experts_season_total = map(cbs_season_percent, experts_tot)
```

```{r beating ESPN week, include=FALSE}
#Creating a list of correct percentages for each week.
espn_weekly_percent = map(weeks, espn_percent)

#Creating a list of how many cbs experts we beat each week.
espn_experts_beat = map2(espn_weekly_percent, weekly_win_percentage, experts_beat)

#Creating a list of how many cbs experts picked each week.  
espn_experts_total = map(espn_weekly_percent, experts_tot)
```

```{r beating ESPN season, include=FALSE}
#Creating a list of correct percentages for each week.
espn_season_percent = map(weeks, espn_season_percent)

#Creating a list of how many cbs experts we beat each week.
espn_experts_beat_season = map2(espn_season_percent, season_win_percentage, experts_beat)

#Creating a list of how many cbs experts picked each week.  
espn_experts_season_total = map(espn_season_percent, experts_tot)
```

```{r individual results, include=FALSE}
#Creating a list of individual results for each week.
weekly_indiv = pmap(list(inst.picks, winners, weeks), indiv_weekly_pred)

#Combining each week into one dataframe and calculating percentage Correct for this week.  
full_season = weekly_indiv %>% reduce(full_join, by = "Name") %>% 
  mutate(Percent = round(pull(.[,ncol(.)]/weekly_number_of_games[[length(weekly_number_of_games)]]),4)) 

#Creating a dataframe with only the weekly picks
a = full_season %>% select(starts_with("Week"))

#Creating a vector of how many weeks each person picked over the season
tot_week = NULL
help = NULL
for (i in 1:dim(a)[1]){
  for(j in 1:length(a)){
    help[j] = ifelse(is.na(a[i,j])==T,0,1)
    tot_week[i] = sum(help)
  }
}

#Creating a vector of how many games each person picked over the season
tot_picks= NULL
help = NULL
for (i in 1:dim(a)[1]){
  for(j in 1:length(a)){
    help[j] = unlist(weekly_games_picked)[j]*ifelse(is.na(a[i,j])==T,0,1)
    tot_picks[i] = sum(help)
  }
}

#Creatign a vector of how many games each person picked correct over the season
tot_correct = NULL
help = NULL
for (i in 1:dim(a)[1]){
  tot_correct[i] = sum(a[i,], na.rm = T)
}

#adding how many weeks each person picked, season correct percentage, and adjusted season percentag to the data frame and sorting the data
indiv_disp = full_season %>% add_column(`Weeks Picked` = tot_week) %>%
  add_column(tot_correct)%>%
  add_column(tot_picks)%>%
  mutate(`Season Percent` = round(tot_correct/tot_picks,4))%>%
  mutate(`Adj Season Percent` = round(`Season Percent`*(tot_week/length(a)),4)) %>%
  select(-tot_correct, -tot_picks) %>%
  arrange(desc(Percent), desc(`Season Percent`)) %>%
  mutate(Percent = ifelse(is.na(Percent)==T, 0, Percent))
```


```{r individual percentages, include=FALSE}
#Calculating individual percentages for each week.
weekly_indiv_percent = map2(weekly_indiv, as.list(weekly_number_of_games), indiv_percent) %>% reduce(full_join, by = "Name")

weekly_indiv_percent_plot = weekly_indiv_percent %>% 
  pivot_longer(cols = starts_with("Week"), names_to = "Week", values_to = "Percent")%>%
  mutate(Percent = ifelse(is.na(Percent)==T, 0, Percent)) %>% 
  mutate(Week = as.factor(Week))

levels = NULL
for(i in 1:length(weeks)){
  levels[i] = glue("Week {i}")  
}

weekly_indiv_percent_plot = weekly_indiv_percent_plot %>%
  mutate(Week = factor(Week, levels))
```

```{r sparklines, include=FALSE}
#adding sparklines
plot_group = function(name, df){
  plot_object = 
    ggplot(data = df,
           aes(x = as.factor(Week), y=Percent, group = 1))+
    geom_path(size = 7)+
    scale_y_continuous(limits = c(0,1))+
    theme_void()+
    theme(legend.position = "none")
  return(plot_object)
}

sparklines = 
  weekly_indiv_percent_plot %>% 
  group_by(Name) %>% 
  nest() %>% 
  mutate(plot = map2(Name, data, plot_group)) %>% 
  select(-data)
  
indiv_disp_2 = indiv_disp %>% 
  inner_join(sparklines, by = "Name") %>% 
  mutate(`Season Trend` = NA)
```

```{r Printing Individual Table2, echo=FALSE}
# Printing the individual Table
indiv_table = indiv_disp_2 %>% gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("Individual Results"),
    subtitle = md(glue("Week {length(weeks)}"))
    ) %>% 
   tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(Percent),
      rows = Percent<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(Percent),
      rows = Percent>.5
    )) %>% 
     tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`>.5
    ))%>% 
     tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`>.5
    )) %>% 
  tab_options(
    container.width = pct(100),
    data_row.padding = px(1),
    container.height = "100%"
   ) %>%
    tab_spanner(
    label = "Weekly # Correct",
    columns = starts_with(c("Week "))
  ) %>% 
  text_transform(
    locations = cells_body(c(`Season Trend`)),
    fn = function(x){
      map(indiv_disp_2$plot, ggplot_image, height = px(30), aspect_ratio = 4)
                 }) %>%
  cols_hide(c(plot))

indiv_winners = indiv_disp_2 %>% filter(Percent == max(Percent)) %>% select(Name) %>% pull() %>% paste(collapse = ", ")
indiv_season = indiv_disp_2 %>% filter(`Season Percent` == max(`Season Percent`)) %>% select(Name) %>% pull() %>% paste(collapse = ", ")
indiv_season_adj = indiv_disp_2 %>% filter(`Adj Season Percent` == max(`Adj Season Percent`)) %>% select(Name) %>% pull()%>% paste(collapse = ", ")
```

```{r Printing Season Leaderboard, echo=FALSE}
# Printing the Season Leaderboard
  
season_leaderboard_disp = indiv_disp_2 %>% select(Name, starts_with("Week ")) %>% 
  pivot_longer(starts_with("Week"),names_to = "Week", values_to = "Correct") %>% 
  group_by(Week) %>% 
  mutate(Correct = case_when(is.na(Correct)==T~0, 
                             TRUE~Correct)) %>% 
  mutate(Donut = case_when(Correct==max(Correct)~1,
                           TRUE~0))  %>% 
  ungroup() %>% 
  group_by(Name) %>% 
  summarise(`Donuts Won` = sum(Donut)) %>% 
  #mutate(`Donuts Won` = strrep("award,", Donuts)) %>% 
  right_join(.,indiv_disp_2) %>% 
  select(-starts_with("Week "), -Percent) %>% 
  mutate(`Season Rank` = min_rank(desc(`Season Percent`)),.before = Name) %>% 
  arrange(`Season Rank`) 
  
season_leaderboard = season_leaderboard_disp %>% 
  gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("Season Leaderboard (Season Percent)"),
    subtitle = md(glue("Week {length(weeks)}"))
    ) %>% 
  # fmt_icon(
  #   columns = `Donuts Won`,
  #   fill_color = "gold",
  # ) %>%
  tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`>.5
    ))%>% 
     tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`>.5
    )) %>% 
  tab_options(
    container.width = pct(100),
    data_row.padding = px(1),
    container.height = "100%"
   ) %>%
    tab_spanner(
    label = "Weekly # Correct",
    columns = starts_with(c("Week "))
  ) %>% 
  text_transform(
    locations = cells_body(c(`Season Trend`)),
    fn = function(x){
      map(season_leaderboard_disp$plot, ggplot_image, height = px(30), aspect_ratio = 4)
                 }) %>%
  cols_hide(columns = c(plot))
```

```{r Printing Adj Season Leaderboard, echo=FALSE}
# Printing the Adj Season Leaderboard
  
adj_season_leaderboard_disp = indiv_disp_2 %>% select(Name, starts_with("Week ")) %>% 
  pivot_longer(starts_with("Week"),names_to = "Week", values_to = "Correct") %>% 
  group_by(Week) %>% 
  mutate(Correct = case_when(is.na(Correct)==T~0, 
                             TRUE~Correct)) %>% 
  mutate(Donut = case_when(Correct==max(Correct)~1,
                           TRUE~0))  %>% 
  ungroup() %>% 
  group_by(Name) %>% 
  summarise(`Donuts Won` = sum(Donut)) %>% 
  #mutate(`Donuts Won` = strrep("award,", Donuts)) %>% 
  right_join(.,indiv_disp_2) %>% 
  select(-starts_with("Week "), -Percent) %>% 
  mutate(`Season Rank` = min_rank(desc(`Adj Season Percent`)),.before = Name) %>% 
  arrange(`Season Rank`)

adj_season_leaderboard = adj_season_leaderboard_disp %>% 
  gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("Season Leaderboard (Adjusted Season Percent)"),
    subtitle = md(glue("Week {length(weeks)}"))
    ) %>% 
  # fmt_icon(
  #   columns = `Donuts Won`,
  #   fill_color = "gold",
  # ) %>%
  tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`>.5
    ))%>% 
     tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`>.5
    )) %>% 
  tab_options(
    container.width = pct(100),
    data_row.padding = px(1),
    container.height = "100%"
   ) %>%
    tab_spanner(
    label = "Weekly # Correct",
    columns = starts_with(c("Week "))
  ) %>% 
  text_transform(
    locations = cells_body(c(`Season Trend`)),
    fn = function(x){
      map(adj_season_leaderboard_disp$plot, ggplot_image, height = px(30), aspect_ratio = 4)
                 }) %>%
  cols_hide(columns = c(plot))
```


```{r instructor formattable, echo=FALSE}
improvement_formatter <- 
  formatter("span", 
            style = x ~ formattable::style(
              font.weight = "bold", 
              color = ifelse(x > .5, "green", ifelse(x < .5, "red", "black"))),
             x ~ icontext(ifelse(x == max(x), "star", ""), x))

indiv_disp_3 = indiv_disp_2 %>% select(-plot)
indiv_disp_3$`Season Trend` = apply(indiv_disp_3[,2:(1+length(weeks))], 1, FUN = function(x) as.character(htmltools::as.tags(sparkline(as.numeric(x), type = "line", chartRangeMin = 0, chartRangeMax = 1, fillColor = "white"))))

indiv_table_2 = as.htmlwidget(formattable(indiv_disp_3, 
                                align = c("l", rep("c", NROW(indiv_disp_3)-1)),
              list(`Season Percent` = color_bar("#FA614B"),
              `Season Percent`= improvement_formatter,
              `Adj Season Percent`= improvement_formatter)))
              
indiv_table_2$dependencies = c(indiv_table_2$dependencies, htmlwidgets:::widget_dependencies("sparkline", "sparkline"))
```

```{r Plotting individual results over the season2, eval=FALSE, include=FALSE, out.width="100%"}
#Creating the individual plot.  
inst_indiv_plots = weekly_indiv_percent_plot %>% 
  ggplot(aes(x = factor(Week), y = Percent, color = Name))+
  geom_point()+
  geom_path(aes(x = as.factor(Week), y = Percent, color = Name, 
                group = Name))+
  ylim(c(0, 1)) +
  labs(x = "NFL Week", 
       y = "Correct Percentage", 
       title = "Weekly Individual Correct Percentage")+
  facet_wrap(~Name)+
  theme_classic()+
  theme(legend.position = "none",
        plot.title = element_text(hjust = 0.5, size = 18),
        axis.text.x=element_text(angle =45, vjust = 1, hjust = 1))
```

```{r data for data page}
inst.data = map2(inst.picks, weeks, disp_data) %>% bind_rows()
```


```{r fivethirtyeight}
inst_538 = map(results, five38) %>% unlist() %>% sum()
```

```{r pregame, eval=FALSE, include=FALSE}
#Predictions for the week

#Creating the list of group predictions each week.
games = map(inst.picks, games_fn)

#Creating the prediction table.  
pred_table = map(games, pred_table_fn)

#Printing table of instructor predictions
pred_table[[length(pred_table)]] %>% mutate(Game = row_number()) %>% 
  rename(`Votes For` = votes_for, `Votes Against` = votes_against) %>% 
  gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("This Week's Predictions"),
    subtitle = md(glue("Week {length(weeks)}"))
    ) %>% 
   tab_options(
    data_row.padding = px(3)
   )
```

Group Predictions
==========================================================================

Sidebar {.sidebar} 
-------------------------------------
#### CBS Sports

<font size="4">

This week we beat or tied `r cbs_experts_beat[[length(weeks)]]` of `r cbs_experts_total[[length(weeks)]]` CBS Sports' Experts.

For the season we are currently beating or tied with `r cbs_experts_beat_season[[length(weeks)]]` of `r cbs_experts_season_total[[length(weeks)]]` CBS Sports' Experts.
 
 </font>


#### ESPN

<font size="4">

We also beat or tied `r espn_experts_beat[[length(weeks)]]` of `r espn_experts_total[[length(weeks)]]` ESPN Experts.
 
For the season we are currently beating or tied with `r espn_experts_beat_season[[length(weeks)]]` of `r espn_experts_season_total[[length(weeks)]]` ESPN Experts.

</font>

Row
--------------------------------------

### Win percentage for the week

```{r}
inst_rate <- weekly_win_percentage[[length(weekly_win_percentage)]]*100
gauge(inst_rate, min = 0, max = 100, symbol = '%', gaugeSectors(
  success = c(55, 100), warning = c(40, 54), danger = c(0, 39)
))
```

### Season Win Percentage

```{r}
inst_season <- season_win_percentage*100
gauge(inst_season, min = 0, max = 100, symbol = '%', gaugeSectors(
  success = c(55, 100), warning = c(40, 54), danger = c(0, 39)
))
```

### Games Correct
```{r}
valueBox(value = season_wins,icon = "fa-trophy",caption = "Correct Games this Season")
```

### Games Picked
```{r}
valueBox(value = season_games,icon = "fa-clipboard-list",caption = "Games Picked this Season")
```

### Number of predictions
```{r}
valueBox(value = Total,icon = "fa-users",caption = "Predictions this week")
```

Row
--------------------------------------

### 

```{r}
inst_group_table
```

### 

```{r}
ggplotly(inst_group_season_plot) %>% 
  layout(title = list(y = .93, xref = "plot"),
         margin = list(t = 40))
```

Individual Predictions
==========================================================================


Sidebar {.sidebar} 
-------------------------------------

#### Best Picks of the Week.

<font size="4">

 `r indiv_winners`
 
 </font>
 
#### Best Season Correct Percentage
<font size="4">

`r indiv_season`
 
 </font>

#### Best Adjusted Season Correct Percentage
<font size="4">

`r indiv_season_adj`

 * Adjusted season percentage accounts for the number of weeks picked.
 
 </font>

row {.tabset}
--------------------------------------

### Individual Table
```{r}
indiv_table
```

<!--
### Individual Table2

```{r, out.height="100%"}
indiv_table_2
```

-->

<!--

### Individual Plots
```{r, out.width="100%"}
#ggplotly(inst_indiv_plots)
```

-->

### Season Leaderboard
```{r, out.width="100%"}
season_leaderboard
```

### Adjusted Season Leaderboard
```{r, out.width="100%"}
adj_season_leaderboard
```

Data
==========================================================================

```{r}
datatable(
  inst.data, extensions = 'Buttons', options = list(
    dom = 'Blfrtip',
    buttons = c('copy', 'csv', 'excel', 'pdf', 'print'),
    lengthMenue = list( c(10, 25, 50, 100, -1), c(10, 25, 50, 100, "All") )
  )
)
```